<?php 
//comprobamos la sesión
include ("../logic/comprobarSesion.php");
include ("../bbdd/usuariosBbdd.php");

noSesion();

//Obtenemos la dirección de la imagen vieja
$imagenOld = obtenerImagenPerfil($_SESSION['uid']);


//Si no existe la carpeta con el UID del usuario en la carpeta perfiles, la creamos
if(!file_exists( '../img/perfiles/'.$_SESSION['uid'])) {
   mkdir('../img/perfiles/'.$_SESSION['uid']);
}


if (!isset($_FILES['file-input']) || $_FILES['file-input']['name'] == "" ) {
    //Si no hemos enviado un fichero, hacemos los cambios sobre el original
    // El archivo 
    $src_original = "../".$imagenOld; //Ponerla desde JavaScript por parametros 
    $imagen = explode(".", $imagenOld);
    $extension = $imagen[count($imagen) - 1]; 
    $src_guardar =  "img/perfiles/".$_SESSION['uid']."/".$_SESSION['uid']."-".date("YmdHis").".".$extension; //Donde la quiere guardar 
} else {
    //En caso contrario, realizamos todo el proceso para copiar el archivo en la carpeta correspondiente
    if( !isset($_FILES['file-input']) ){
        echo 'Ha habido un error, tienes que elegir un archivo<br/>';
        echo '<a href="index.html">Subir archivo</a>';
    }else{

        $nombre = $_FILES['file-input']['name'];
        $nombre_tmp = $_FILES['file-input']['tmp_name'];
        $tipo = $_FILES['file-input']['type'];
        $tamano = $_FILES['file-input']['size'];

        $ext_permitidas = array('jpg','jpeg','gif','png');
        $partes_nombre = explode('.', $nombre);
        $extension = end( $partes_nombre );
        $ext_correcta = in_array($extension, $ext_permitidas);

        $tipo_correcto = preg_match('/^image\/(pjpeg|jpeg|gif|png)$/', $tipo);

        $limite = 500 * 1024;

        if( $ext_correcta && $tipo_correcto && $tamano <= $limite ){
          if( $_FILES['file-input']['error'] > 0 ){
            echo 'Error: ' . $_FILES['file-input']['error'] . '<br/>';
          }else{
            if( file_exists( '../img/perfiles/'.$_SESSION['uid'].'/'.$nombre) ){
              echo '<br/>El archivo ya existe: ' . $nombre;
            }else{
              move_uploaded_file($nombre_tmp,"../img/perfiles/" . $_SESSION['uid'] . "/" . $nombre);
            }
          }
        }else{
          echo 'Archivo inválido';
        }
    }
    // El archivo 
    $src_original = "../img/perfiles/" . $_SESSION['uid'] . "/" . $nombre; //Ponerla desde JavaScript por parametros 
    $imagen = explode(".", $src_original);
    $extension = $imagen[count($imagen) - 1]; 
    $src_guardar = "img/perfiles/".$_SESSION['uid']."/".$_SESSION['uid']."-".date("YmdHis").".".$extension; //Donde la quiere guardar 
    
    //Eliminamos la imagen vieja
    unlink("../".$imagenOld);
}

//obtenemos altura y anchura de la imagen original
$size = GetImageSize($src_original); 
$anchoOriginal=$size[0]; 
$altoOriginal=$size[1]; 


//Calculamos el factor para botener las proporciones correctas.
$factor = 370 / $altoOriginal;


//Una vez tenemos el archivo de imagen guardado en su sitio, le hacemos las modificaciones pertinetnes    
//Primero capturamos los valores con las coordenadas de selección
//Desde donde 
$x1 = round($_POST['x1']/$factor); 
$y1 = round($_POST['y1']/$factor);  

//Hasta donde
$x2 = round($_POST['x2']/$factor);
$y2 = round($_POST['y2']/$factor);

//Ancho de la porción seleccionada
$anchoSel = $x2 - $x1;
        
//Alto de la porción seleccionada
$altoSel = $y2 - $y1;

//Ancho en pixeles 
$ancho = 200;

//Alto en pixeles 
$alto = 200;

//Una vez tenemos todo, redimensionamos.
// Redimensionar 
//Creamos el contenedor de la imagen en blanco con las nuevas dimensiones
$contenedorImagen = imagecreatetruecolor($ancho, $alto) or die('No se puede Iniciar el nuevo flujo a la imagen GD');
$imagenOriginal = imagecreatefromjpeg($src_original);

imagecopyresampled($contenedorImagen, $imagenOriginal, 0, 0, $x1, $y1, $ancho, $alto, $anchoSel, $altoSel); 

$imagenGuardar = "../".$src_guardar;
imagejpeg($contenedorImagen, $imagenGuardar, 100);

unlink($src_original);

//imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

//Actualizamos la BBDD con la imagen nueva

if (cambiarImagenPerfil($_SESSION['uid'],$src_guardar)) {
    header("Location: ../usuarios/miPerfil.php");
} else {
    echo "error";
}


